1. Field of the Invention
The present invention relates to computer networking and communication, including Web-based communications and commerce.
2. Related Art
A proximity search has utility in many computer and business related applications. A proximity search refers to a search that identifies any candidate geographical positions that are near a geographical position of interest. In one known application, each candidate geographical position can be represented by position field information associated with a database record. A conventional proximity search includes the computer implemented steps of (a) calculating a great circle separation distance between the position of interest and each database position, and then (b) comparing each separation distance to a proximity parameter or search range to determine which of the candidate position are near, that is, proximate, the position of interest. The great circle separation distance is the distance between two points on the surface of the Earth along a great circle or circumference of the Earth, and therefore represents the shortest distance between the two points on the surface of the Earth.
Because great circle separation distances are used, the above mentioned proximity search accurately identifies candidate positions within the search range of the position of interest. However, calculating the great circle separation distances is computationally intensive because of the relatively complex geometric calculations involved. Thus, proximity search accuracy is achieved at the expensive of a heavy computational burden associated with calculating great circle separation distances. In an application including hundreds of thousands, or even millions, of database positions, calculating a correspondingly large number of great circle separation distances disadvantageously imposes an onerous computational burden, and thus consumes valuable computer processing time.
Different applications require proximity searches having different characteristics. For example, an application that requires fast responses to user queries, correspondingly requires rapid proximity searches. Such an application may relax proximity search accuracy so as to increase computational efficiency and speed. One such application requires a time efficient proximity search of millions of candidate positions, as mentioned above. In another application, the search range or proximity parameter is in a format that is incompatible with a format of the position field information in the database, thus complicating the processing of a query requiring a proximity search.
Therefore, there is a need for a time efficient proximity search that identifies candidate geographical positions that are near a geographical position of interest. There is a related need for a proximity search that searches such candidate geographical position when represented by position field information associated with a database record.
There is also a need for a proximity search that identifies the candidate geographical positions within a search range, specified as a proximity parameter, of the position of interest. There is a related need for a proximity search capable of searching for the candidate positions when the proximity parameter and the position field information have incompatible formats.
There is a further need for a proximity search that is responsive to user queries.